// 导入http模块，用于创建web服务器
import http from "http";
// 导入url模块，用于解析URL
import url from "url";

// 定义一个包含用户数据的对象
const data = {
  name: "rjt",
  age: 23,
};

/**
 * 处理传入的HTTP请求
 * @param {Object} req - HTTP请求对象
 * @param {Object} res - HTTP响应对象
 */
function handleRequest(req, res) {
  // 解析请求的URL
  const reqUrl = url.parse(req.url, true);
  // 获取客户端IP地址
  let clientIp = req.connection.remoteAddress;
  // 打印客户端IP地址
  console.log(`客户端IP地址: ${clientIp}`);
  // 根据请求的路径处理不同的请求
  if (reqUrl.pathname === "/") {
    // 设置响应头，指定返回的是HTML内容
    res.writeHead(200, { "Content-Type": "text/html;charset=utf-8" });
    // 返回首页的简单HTML内容
    res.end("<h1>欢迎来到首页</h1>");
  } else if (reqUrl.pathname === "/user") {
    // 设置响应头，指定返回的是JSON内容
    res.writeHead(200, { "Content-Type": "application/json;charset=utf-8" });
    // 返回用户数据的JSON字符串
    res.end(JSON.stringify(data));
  } else {
    // 设置响应头，指定返回的是纯文本内容
    res.writeHead(404, { "Content-Type": "text/plain;charset=utf-8" });
    // 返回404错误信息
    res.end("404了兄弟");
  }
}

// 使用http模块创建一个服务器，指定请求处理函数
const server = http.createServer(handleRequest);

// 启动服务器，监听3001端口
server.listen(3001, () => {
  // 打印服务器启动信息
  console.log("服务器运行在3001端口");
});
